home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Network Support Library
/
RoseWare - Network Support Library.iso
/
apidev
/
tpapi.exe
/
DOCS
/
HISTORY.DOC
< prev
next >
Wrap
Text File
|
1994-01-14
|
15KB
|
387 lines
*************************************************
* Turbo Pascal API's for Novell Netware (TPAPI) *
*************************************************
TPAPI (c) Copyr. 1991 - 1994 Antonio Covelli ALL RIGHTS RESERVED
VERSION CHANGES (reverse chronological order)
===============
Version 1.53 - Released 14th January, 1994
* Added a messagebox when IPX/NETX cannot be detected under Windows. Thanks
go to Richard Meatyard [100064,1200] for this suggestion.
* Added a change to JobStructure (NWVAR) so that you can setup the banner
page amongst other things. Many thanks go to Juergen Poganatz [100103,2004]
who provided this information.
* Added new function AddText to NetwareOBJ. This allows text to be added to
types of CHAR or BYTE.
* Changed JobStructure.TextJobDescription (NWVAR) to be TChar50Array.
* Cleaned up several API's within NWPRINT.
* Started to add comments to the source code in the INTERFACE section. This
can be read by D.J.Murdoch's SCANHELP program. Refer to SRCDOC.DOC for more
information.
* Renamed JobStruct to JobStruct286 and created new 386 structure called
JobStructure.
* Added 386 equivalent functions of QUEUE services (NWQUEUE). These are the
same as the 286 equivalents but end in 2.
* Added new function for converting PASCAL strings to ASCIIZ and adding the
product to the request buffer - AddPASCALToASCIIZStr (NETWARE).
* Renamed AddString to AddPASCALString (NETWARE).
* Fixed minor problem in GetConnectionsOpenFiles (NWFSSERV).
--------------------------------------------------------------------------------
Version 1.52 - Not released - Internal version
* Merged SerialOBJ into FileServerOBJ in line with the Client Assembly Docs.
* Removed NCPConnRequest and added ConnectionHandle parameter to NCPRequest.
* Added GetPASCALString to NETWARE for getting PASCAL style strings from the
buffer. Renamed GetString to GetASCIIZString.
* Fixed bug in GetSearchOrderFromDriveLetter (NETWARE).
* Removed parameter CommentLen from SubmitAccountNote (NWACCNTG) as it is not
needed.
* Added parameter ConnectionHandle to VLMTransportCall. If you wish to use
the default file server then pass the constant NWDEFCONNHANDLE.
* Removed LogReq from NetwareOBJ. (Not needed anymore).
* Renamed LoginToFileServer to LoginObject (NWCONN).
* Merged FileServiceOBJ and DirectoryOBJ objects and called them FileSystemOBJ
after the Client Assembly API. This will result in smaller code. Renamed
NWDIR.PAS to NWFSYST.PAS.
* Renamed CreateQueueJobAndFile to CreateQueueJobAndFileText and created a new
method CreateQueueJobAndFileBinary. The former uses FileOfText while the
latter uses FileOfByte.
The above applies to all ???QueueJobAndFile API's within NWQUEUE. If someone
knows a better way of doing this then let me know. Thanks.
* Changed some of the API's in NWSYNCH to return result codes.
* Created new object ExtAttrOBJ. This object deals with the extended attributes
available within Netware.
* Updated GetObjectConnectionNumbers to use NCP and renamed to
GetObjectConnectionList.
* Updated GetDirInfo to use NCP and renamed to GetDirectoryInformation.
* Fixed bug in ScanDirRestrictions (NWDIR) in that it returned the wrong
information and GPI'd in DPMI/WINDOWS.
* Finished implementing the DPMI access to the VLM shells. Many thanks go to
Julian Bucknell for pointing me in the right direction. There is still a lot
of work involved in getting all the functionality in place.
* Added new api's to NWFSERV :
1) SetFileAttributes
* Changed function LoginToFileServerEncrypted to Novell's name of KeyedLogin.
* Fixed minor bug in GetEncryptedKey. I do not need to swap the ObjectID
around.
* Added the rest of the code to the example KeyPass. Sorry for that glaring
omission.
* Fixed small omission in ScanFileDirectoryExtTrustee (NWDIR).
* Just thought I would tell you why I am converting the library to use
request/receive packets :
The NCP is a transport mechanism for sending API calls to a file server.
This method allows the developer to send raw packets to a server. If the
packet contents are invalid then the server can do several things :
1) Issue an invalid packet error
2) Issue an unsupported API error
3) Crash & burn (not literally).
Novell is now publishing it's API's in the new request/receive packet and I
am following suit. This will allow me to do a couple of very important tasks
1) Maintain a common set of API's regardless of whether the VLM or NETX
clients are running since both clients use the same packet structures.
2) It is easier to code the API's for DPMI/WINDOWS modes when requiring
request/receive packets.
3) Novell has stated that development on NETX has ceased (refer to Novell's
Client API for Assembly documentation).
--------------------------------------------------------------------------------
Version 1.51 - Released 1st September, 1993
* Changed bug in GetVolumeName (NWDIR) so that the volumename is correctly
returned. Also changed to the NCP (F2) protocol.
* Implemented ConvertPathToDirectoryEntry in NETWARE.
* Implemented MapDirectoryNumberToPath in NETWARE.
* Moved duplicate functions ScanBinderyObjectTrusteePaths from NWBINDRY &
NWDIR to NETWARE. Also changed it to use the NCP (F2) protocol.
* Changed GetServerInformation (NWFSSERV) to use the NCP (F2) protocol.
* Added ScanFileDirectoryExtTrustee API to NWDIR. This also uses the NCP (F2)
protocol.
* Changed Rights parameter in GetEffectiveRights to be TrusteeRights.
* Added AddExtTrusteeFileDirectoryTrustee API to NWDIR. This also use the
NCP (F2) protocol.
* Added Netware v3.11 support for GetConnectionsOpenFiles in NWDIR.
* Started optimizing certains portions of code within NETWARE. Many thanks
go to Peter Sawatzki for prompting me to look into this.
* Removed FileServiceRequest from NETWARE. This is exactly the same as
NCPRequest except that the buffer lengths are passed before their
respective buffers.
* Fixed bug in _IPXInitialise that would stop it from working with the
older shells.
* Fixed bug in GetVolumeInfoWithNumber (NWDIR) in that it would not work in
DPMI mode.
* Fixed bug in MapFakeRoot (NWWRKSTN) in that it would not work in DPMI mode.
* Removed ServerRequest from NETWARE and renamed ServerReq to ServerRequest.
* Added support for KeyedChangePassword, KeyedVerifyPassword. See example
KEYPASS for additional info.
* Changed all BinderyOBJ methods to use the NCP (F2) protocol. This will allow
proper interfacing to the VLM once I activate the 2F facility.
* Started changing all the API's to use the NCP (F2) protocol. This method
uses Request, Receive buffers for most (if not all) of the calls.
--------------------------------------------------------------------------------
Version 1.50 - Released : 1st July, 1993
* Encrypted password support is now available thanks to Barry Nance. Barry
has kindly allowed me to incorporate his ELOGON source code into TPAPI.
The source (in NWENCRYP) was from Software Corner, Byte Magazine.
* Changed all declared TYPES in NWVAR. The following example show the change
ObjectNameType -> TObjectName
PathNameType -> TPathName
This way of declaring TYPES seems to be more or less a standard in the
industry.
* TPAPI is now DPMI/REAL mode compatible! I have done some preliminary
testing under Windows and have found no problems so far.
* Changed the following object names :
ConnectOBJ -> ConnectionOBJ
FServOBJ -> FileServiceOBJ
SynchOBJ -> SynchronisationOBJ
WorkStatOBJ -> WorkStationOBJ
* Added lots of examples to do some of the more difficult things in Netware.
E.G. Printing to LPT ports, printing directly to queues, using semaphores
and getting workstation information.
--------------------------------------------------------------------------------
Version 1.44 - Not released : Internal version
* Changed ConvertNodeAddress, ConvertNetworkNumber to be functions.
* Added dynamic allocation of the request/receive buffers. When initialising
objects if you pass true then the buffers are allocated and deallocated for
each method, if you pass in false then they are allocated once and
deallocated when you call the object's done method.
The second method is faster but the memory is always taken up whereas in
the first option you only use the memory when calling a TPAPI api.
--------------------------------------------------------------------------------
Version 1.43 - Not released : Internal version
* Changed ExamineSemaphore (SemaphoreValue), OpenSemaphore (IntialValue) to
be of type INTEGER. Semaphore values can be negative as well as positive.
* Instead of using PObjectListing I have now changed all methods to use
PStringCollections for efficency. The collections are all SORTED as they
are generated.
Basically you need to include the OBJECTS unit in your USES clause. To
see more information check out the BINDLIS1.PAS file.
Please consult your Turbo Vision manual for more technical information on
collections.
* Removed data type Set_Capture_Flags from NWVAR as it is not used anywhere.
* Added capability to handle fake roots. Requires NETX.* v3.0 or later.
MAPFAKEROOT, DELETEFAKEROOT and GETRELATIVEDRIVEDEPTH can be found in
NWWRKSTN.
* Added fake root capability to MISCMAPDRIVE in NWMISC.
--------------------------------------------------------------------------------
Version 1.42 - Not Released : Internal version
* Changed constant BF_SET in NWVAR to be $02.
* Fixed problem in SCANPROPERTY in NWBINDRY so that the next sequence number
returned is correct.
* Moved constant HexCharacterSet into HexString function. (NETWARE)
* Started on the long road to DPMI compliance with a lot of help from
Mark Edington (Borland, Inc USA).
* Within NWQUEUE changed all references to FileOfByte to FileOfText.
* Fixed bug within GetQueueJobList (NWQUEUE) which was that the number of jobs
within a queue were not all correctly returned.
* Added function GetTPAPIVersion (NETWARE) which returns a string containing
the version and release date of TPAPI.
--------------------------------------------------------------------------------
Version 1.41 - Released : 19th February, 1993
* Recompiled under Turbo Pascal 7.0 (REAL mode only).
--------------------------------------------------------------------------------
Version 1.4 - Released : 10th October, 1992
* Changed GetObjectName to GetObjectNameID (NWMISC.TPU) so that the objectid
is now also returned.
* Changed the inner workings of certain parts of the Misc Servvices unit
(NWMISC.TPU). This should be transparent to everyone. The MiscFuncOBJ now
uses less memory.
* Removed the parameter ConnectionID from LoginToFileServer in Connection
unit (NWCONN.TPU) as it is not used.
* Changed GetFileServerMiscInformation (NWFSSERV.TPU) to return the fourth
dynamic memory pool in Netware 286 v2.2
* Fixed bug in GetNetworkSerialNumber (NWSERIAL.TPU) so that it properly
returns the requested information.
* Changed ConnectionID in SetCapturePrintQueue (NWPRINT.TPU) to be a WORD
instead of a BYTE.
* Changed GetNetwareShellVersion (NWWRKSTN.TPU) to return the shell type.
* Added GetTaskMode & SetTaskMode to WorkStation Services (NWWRKSTN.TPU)
* Fixed bugs in SetDefaultCaptureFlags/SetSpecificCaptureFlags (NWPRINT.TPU)
which caused incorrect setting of the Timeout count.
* Changed DriveHandle to DirectoryHandle in SpecifyCaptureFile (NWPRINT.TPU).
* Added SetShowDots (NWWRKSTN.TPU) to allow the switching of whether or not
'.' and '..' are seen in directory listings (useful for Windows).
* Changed SetDefaultCaptureFlags, SetSpecificCaptureFlags (NWPRINT.TPU) to use
Capture_Flags structure instead of Set_Capture_Flags.
* Modified the PrinterSetupBuffer, PrinterResetBuffer in Print Services.
(NWPRINT.TPU).
* Added SetNWCaptureFlags to Misc Services (NWMISC.TPU). This procedure sets
the default for the structure Capture_Flags.
* Added GetPrintQueueDirectoryID to Misc Services (NWMISC.TPU).
* Fixed bug in GetFileServerLoginStatus (NWFSSERV.TPU) so that it returns
correct information.
--------------------------------------------------------------------------------
Version 1.3 - Released : 2nd March, 1992
* Added MakeSupervisor, RevokeSupervisor to Misc Services unit (NWMISC.TPU)
Allows programmer to easily make an object security equivalent or not to the
Supervisor.
--------------------------------------------------------------------------------
Version 1.2 - Not Released : Internal version
* Finally completed FileServer Services unit (NWFSSERV.TPU).
* Added several more examples which show how easy it is to replicate Novell
utilities.
* MapV3TrusteeRightsToV2 (NWDIR.TPU) fixed bug which gave incorrect info.
* Changed _NWMapWildPath (NETWARE.TPU) to a function.
* Moved all table pointers out of NetwareOBJ.
--------------------------------------------------------------------------------
Version 1.1 - Not Released : Internal version
* Added a complete new suite of API's - Queue services. The only difference
from Netware is that no file handles are returned, instead a FileOfByte
type is used.
* Added more API's throughout.
* Added AutoLogin function to NWMISC unit.
* Moved FileServerNameTable & ServerConnectionIDTable out of NetwareOBJ.
* Changed variable FileSize to SizeOfFile in certain units.
* Started the documentation in real anger.
* FileServerServices (NWFSSERV.TPU) - Possible bug in Netware
GetExtendedFileAttributes is meant to return the FileAttributes and a
result. When you call the function both the FileAttributes and the result
are the same value.
--------------------------------------------------------------------------------
Version 1.0b - Released 4th December, 1991
* First real release of the library for Turbo Pascal 6.0.
* Certain limitations do exist :
You cannot use any method on a file server that has ENCRYPTED PASSWORDS
set to on.
--------------------------------------------------------------------------------
Antonio Covelli